% ********************************************************************
% classicthesis.sty
%
% Copyright (C) 2012 Andr\'e Miede http://www.miede.de
%
% If you like the style then I would appreciate a postcard. My address 
% can be found in the file ClassicThesis.pdf. A collection of the 
% postcards I received so far is available online at 
% http://postcards.miede.de
%
% License:
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program; see the file COPYING.  If not, write to
% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA.
%
% ********************************************************************  
% Important:
%
% This style can also be used without the thesis template.
% It works with both LaTeX and PDFLaTeX now. XeLaTeX should also work.
%
% * You must not use "u etc. in strings/commands that will be spaced out 
%   (use \"u or real umlauts instead)
% * There is a problem with the case of math text in part-,
%   chapter-, and section titles (either the case or the spacing breaks). 
%   => this can be fixed by using pdftex 1.40 or later and enabling the
%      option pdfspacing of this package
%
% ********************************************************************  
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{classicthesis}[2012/08/12 v4.1 Typographic style for a classic-looking thesis]
\RequirePackage{ifthen}
    \newboolean{@tocaligned} % the left column of the toc will be aligned (no indention)
    \newboolean{@eulerchapternumbers} % use AMS Euler for chapter font (otherwise Palatino)
    \newboolean{@drafting} % print version information on pages
    \newboolean{@linedheaders} % chaper headers will have line above and beneath
    \newboolean{@listsseparated} % toggles the vertical space between lof/lot entries of different chapters
    \newboolean{@nochapters} % disable all chapter-specific commands 
    \newboolean{@beramono} % toggle nice monospaced font (w/ bold) + pre-installed 
    \newboolean{@eulermath} % use awesome Euler fonts for math
    \newboolean{@parts} % use part division for the text
    \newboolean{@minionpro} % setup for minion pro font
    \newboolean{@minionprospacing} % use minion pro's textssc for letter spacing
    \newboolean{@pdfspacing} % use pdftex for letterspacing (via microtype)
    \newboolean{@subfig} % setup for preloaded @subfig package
    \newboolean{@a5paper} % use those tiny DIN A5 pages
    \newboolean{@dottedtoc} % page numbers in ToC flushed right
	\newboolean{@listings} % load listings package (if not already) and setup LoL
	\newboolean{@manychapters} % additional space in ToC after chapter number (if two digits are needed)
	\newboolean{@floatperchapter} % numbering per chapter for all floats (i.e., Figure 1.1)
    
% ********************************************************************
% Options
% ******************************************************************** 
\DeclareOption{tocaligned}{\setboolean{@tocaligned}{true}}
\DeclareOption{eulerchapternumbers}{\setboolean{@eulerchapternumbers}{true}}
\DeclareOption{drafting}{\setboolean{@drafting}{true}}
\DeclareOption{linedheaders}{\setboolean{@linedheaders}{true}}
\DeclareOption{listsseparated}{\setboolean{@listsseparated}{true}}
\DeclareOption{subfigure}{%
    \PackageWarningNoLine{classicthesis}{Package "subfigure" and option "subfigure" are deprecated, used "subfig" instead.}
    \setboolean{@subfig}{true}%
    }
\DeclareOption{subfig}{\setboolean{@subfig}{true}}
\DeclareOption{nochapters}{\setboolean{@nochapters}{true}}
\DeclareOption{beramono}{\setboolean{@beramono}{true}} 
\DeclareOption{eulermath}{\setboolean{@eulermath}{true}} 
\DeclareOption{parts}{\setboolean{@parts}{true}} 
\DeclareOption{a5paper}{\setboolean{@a5paper}{true}}
\DeclareOption{minionpro}{\setboolean{@minionpro}{true}} 
\DeclareOption{minionprospacing}{\setboolean{@minionprospacing}{true}} 
\DeclareOption{pdfspacing}{\setboolean{@pdfspacing}{true}} 
\DeclareOption{dottedtoc}{\setboolean{@dottedtoc}{true}} 
\DeclareOption{listings}{\setboolean{@listings}{true}}
\DeclareOption{manychapters}{\setboolean{@manychapters}{true}}
\DeclareOption{floatperchapter}{\setboolean{@floatperchapter}{true}}
\ProcessOptions\relax

% subfig-related stuff
\@ifpackageloaded{subfig}%
    {\setboolean{@subfig}{true}%
    }{\relax}
\@ifpackageloaded{subfigure}%
    {\setboolean{@subfig}{true}%
     \PackageWarningNoLine{classicthesis}{Package "subfigure" and option "subfigure" are deprecated, %
                                            use "subfig" instead.}
    }{\relax}
\ifthenelse{\boolean{@subfig}}%
    {\PassOptionsToPackage{subfigure}{tocloft}%
    }{\relax}%

% listings-related stuff
\ifthenelse{\boolean{@listings}}%
    {\@ifpackageloaded{listings}%
    	{\relax}{\RequirePackage{listings}}%
    }{\relax}%

% fine-tuning if we use minionprospacing
\ifthenelse{\boolean{@minionprospacing}}%
    {%
        \PackageInfo{classicthesis}{Using option "minionprospacing". %
            This activates "minionpro" in general and turns off %
            the option "pdfspacing".}%
        % is the user trying to use pdfspacing at the same time?    
        \ifthenelse{\boolean{@pdfspacing}}%
            {% both minionprospacing and pdfspacing are active
                \PackageWarningNoLine{classicthesis}{You cannot use "pdfspacing" at the same time %
                    as "minionprospacing"!}%
            }{\relax}%
        \setboolean{@minionpro}{true}%
        \setboolean{@pdfspacing}{false}%
    }{\relax}

% fine-tuning if we do not use chapters
\ifthenelse{\boolean{@nochapters}}%
    {%
        % is the user trying to use parts at the same time?
        \ifthenelse{\boolean{@parts}}%
            {% both parts and nochapters are active
                \PackageWarningNoLine{classicthesis}{You cannot use "parts" at the same time %
                    as "nochapters"!}%
            }{\relax}%
        % is the user trying to use manychapters at the same time?
        \ifthenelse{\boolean{@manychapters}}%
            {% both manychapters and nochapters are active
                \PackageWarningNoLine{classicthesis}{You cannot use "manychapters" at the same time %
                    as "nochapters"!}%
            }{\relax}%
         % is the user trying to use floatperchapter at the same time?
        \ifthenelse{\boolean{@floatperchapter}}%
            {% both manychapters and nochapters are active
                \PackageWarningNoLine{classicthesis}{You cannot use "floatperchapter" at the same time %
                    as "nochapters"!}%
            }{\relax}%                      
        % turn off some things if we do not use chapters
        \PackageInfo{classicthesis}{Using option "nochapters" (probably for an article). %
                This turns off the options "linedheaders", "manychapters", "floatperchapter",%
                "listsseparated", "eulerchapternumbers", and "parts". Please be aware of that.}
        \setboolean{@linedheaders}{false}%
        \setboolean{@listsseparated}{false}%
        \setboolean{@eulerchapternumbers}{false}%
        \setboolean{@parts}{false}%
        \setboolean{@manychapters}{false}%
        \setboolean{@floatperchapter}{false}%
    }{\relax}%

% ********************************************************************                
% PDF and XeLaTeX Stuff
% ********************************************************************
\RequirePackage{ifpdf}
\ifpdf\RequirePackage{hyperref}\fi % for texorpdfstring command below

% Necessary to rewrite hacks for chapters and parts and toc
\RequirePackage{ifxetex}
\ifxetex\RequirePackage{hyperref}\fi % for texorpdfstring command below

% pdfspacing does not work with XeLaTeX
\ifxetex%
	\ifthenelse{\boolean{@pdfspacing}}%
	    {% pdfspacing is used with XeLaTeX
	        \PackageWarningNoLine{classicthesis}{You cannot use the option %
	        "pdfspacing" with XeLaTeX!}%
	    }{\relax}%
	\setboolean{@pdfspacing}{false}%
\fi

% ********************************************************************                
% Colors
% ********************************************************************
\PassOptionsToPackage{dvipsnames}{xcolor}
	\RequirePackage{xcolor} % [dvipsnames] 
\definecolor{halfgray}{gray}{0.55} % chapter numbers will be semi transparent .5 .55 .6 .0
\definecolor{webgreen}{rgb}{0,.5,0}
\definecolor{webbrown}{rgb}{.6,0,0}
%\definecolor{Maroon}{cmyk}{0, 0.87, 0.68, 0.32}
%\definecolor{RoyalBlue}{cmyk}{1, 0.50, 0, 0}
%\definecolor{Black}{cmyk}{0, 0, 0, 0}

% ********************************************************************
% Font Stuff
% ********************************************************************   
% specialists: MinionPro
\ifthenelse{\boolean{@minionpro}}%
    {%
    		% in order have Euler math fonts work with Minion, special option is needed
    		\ifthenelse{\boolean{@eulermath}}%
    		{%
        	\PassOptionsToPackage{opticals,mathlf,onlytext}{MinionPro}%
        	\RequirePackage{MinionPro} %  opticals, fullfamily, osf
        }{%
        	\PassOptionsToPackage{opticals,mathlf}{MinionPro}%
        	\RequirePackage{MinionPro} %  opticals, fullfamily, osf
        }%
    }{%
        % default: Palatino
        \PassOptionsToPackage{osf,sc}{mathpazo}%
        \RequirePackage{mathpazo} % Palatino with real small caps and old style figures
        \linespread{1.05} % a bit more for Palatino
    }

\ifthenelse{\boolean{@beramono}}%
    {\PassOptionsToPackage{scaled=0.85}{beramono}%
     \RequirePackage{beramono}}%
    {%
    	\relax%
    	% put your own suitable typewriter font here
    	%\renewcommand{\ttdefault}{\rmdefault}
    } 
\ifthenelse{\boolean{@eulermath}}%
    {\PassOptionsToPackage{euler-digits}{eulervm}%
     \RequirePackage{eulervm}} % Euler math fonts
    {\relax}

\ifthenelse{\boolean{@eulerchapternumbers}}% font for the chapter numbers
    {\newfont{\chapterNumber}{eurb10 scaled 7000}}%
    {\newfont{\chapterNumber}{pplr9d scaled 7000}}          
    % Euler eurb10 / Palatino OSF pplr9d / Palatino SC pplrc9d
    % Latin Modern cork-lmr10 / Minion MinionPro-Regular-osf-t1
    % (MinionPro-SemiboldCapt-osf-t1 MinionPro-SemiboldDisp-osf-t1)

\RequirePackage{microtype} % character protruding and other micro-typography stuff
% [expansion=false]

% ********************************************************************
% Textblock size
%*******************************************************
\@ifpackageloaded{typearea}%
	{\relax}{%
		\RequirePackage{typearea}%
	}
\ifthenelse{\boolean{@a5paper}}%
    {% A5
        \ifthenelse{\boolean{@minionpro}}%
        {% Minion gets some extra sizes    	
	        \PackageInfo{classicthesis}{A5 paper, MinionPro}%
            \areaset[current]{278pt}{556pt}%
	        \setlength{\marginparwidth}{5em}%
    	    \setlength{\marginparsep}{1.25em}%
        }{% Palatino or other
        	\PackageInfo{classicthesis}{A5 paper, Palatino or other}%
            \areaset[current]{288pt}{555pt}%
            \setlength{\marginparwidth}{4em}%
            \setlength{\marginparsep}{1.25em}%
        }%
	}{% A4
        \ifthenelse{\boolean{@minionpro}}%
        {% Minion gets some extra sizes        	
        	\PackageInfo{classicthesis}{A4 paper, MinionPro}%
            \areaset[current]{312pt}{684pt}% 609 + 33 + 42 head \the\footskip
            \setlength{\marginparwidth}{7.5em}%
            \setlength{\marginparsep}{2em}%
        }{% Palatino or other
	        \PackageInfo{classicthesis}{A4 paper, Palatino or other}
	        \areaset[current]{336pt}{750pt} % ~ 336 * factor 2 + 33 head + 42 \the\footskip 
%   	     \areaset{336pt}{761pt} % 686 (factor 2.2) + 33 head + 42 head \the\footskip 10pt     
			\setlength{\marginparwidth}{7em}%
            \setlength{\marginparsep}{2em}%
        }%
	}
% Here are some suggestions for the text widths and heights:
% Palatino 	10pt: 288--312pt | 609--657pt
% Palatino 	11pt: 312--336pt | 657--705pt
% Palatino 	12pt: 360--384pt | 768pt
% Minion 	  10pt: 264--288pt | 561--609pt
% Minion 	  11pt: 288--312pt | 609--657pt
% Minion 	  12pt: 336pt      | 672pt
% Libertine 10pt:
% Libertine 11pt:
% Libertine 12pt:
% kpfonts 10pt:
% kpfonts 11pt:
% kpfonts 12pt:

% ********************************************************************
% Own Stuff
% ********************************************************************
% Disable single lines at the start of a paragraph (Schusterjungen)
\clubpenalty = 10000
% Disable single lines at the end of a paragraph (Hurenkinder)
\widowpenalty = 10000 
\displaywidowpenalty = 10000 % formulas

% Graffiti as in GKP's book "Concrete Mathematics"
% thanks to Lorenzo Pantieri and Enrico Gregorio
\def\graffito@setup{%
   \slshape\footnotesize%
   \parindent=0pt \lineskip=0pt \lineskiplimit=0pt %
   \tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300%
   \doublehyphendemerits=100000%
   \finalhyphendemerits=\doublehyphendemerits}
%\DeclareRobustCommand{\graffito}[1]{\marginpar%
% [\graffito@setup\raggedleft\hspace{0pt}{#1}]%
% {\graffito@setup\raggedright\hspace{0pt}{#1}}}
\let\oldmarginpar\marginpar
\renewcommand{\marginpar}[1]{\oldmarginpar%
 [\graffito@setup\raggedleft\hspace{0pt}{#1}]%
 {\graffito@setup\raggedright\hspace{0pt}{#1}}}
              
% Enumeration environment with small caps
\newenvironment{aenumerate}
    {\def\theenumi{\textsc{\alph{enumi}}}%
     \enumerate}
    {\endenumerate}

% ********************************************************************
% Fancy Stuff
% ********************************************************************  
\RequirePackage{booktabs} % for better rules in tables
\RequirePackage{textcase} % for \MakeTextUppercase

\ifthenelse{\boolean{@minionprospacing}}%
    {%
        \PackageInfo{classicthesis}{Using MinionPro's textssc for character spacing.}%
        \DeclareRobustCommand{\spacedallcaps}[1]{\textssc{\MakeTextUppercase{#1}}}%
        \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textssc{\MakeTextLowercase{#1}}}%
    }{%
        \ifthenelse{\boolean{@pdfspacing}}%
        {%
            \PackageInfo{classicthesis}{Using pdftex/microtype for character spacing.%
                                        Make sure your pdftex is version 1.40 or higher.}%
            \microtypesetup{expansion=false}%
            \DeclareRobustCommand{\spacedallcaps}[1]{\textls[160]{\MakeTextUppercase{#1}}}%
            \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textls[80]{\scshape\MakeTextLowercase{#1}}}%
        }{%
            \RequirePackage{soul} % for letterspacing 
                \sodef\allcapsspacing{\upshape}{0.15em}{0.65em}{0.6em}%
                \sodef\lowsmallcapsspacing{\scshape}{0.075em}{0.5em}{0.6em}%   
                \DeclareRobustCommand{\spacedallcaps}[1]{\MakeTextUppercase{\allcapsspacing{#1}}}%   
	            \DeclareRobustCommand{\spacedlowsmallcaps}[1]{\MakeTextLowercase{\textsc{\lowsmallcapsspacing{#1}}}}%\protect
        }%
    }

% ********************************************************************                
% headlines
% ********************************************************************  
\PassOptionsToPackage{automark}{scrpage2}
	\RequirePackage{scrpage2} % provides headers and footers (KOMA Script)
    \clearscrheadings
    \setheadsepline{0pt}
    \ifthenelse{\boolean{@nochapters}}%
        {\relax}%
        {\renewcommand{\chaptermark}[1]{\markboth{\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}}
    \renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}} 
    \lehead{\mbox{\llap{\small\thepage\kern2em}\headmark\hfil}}
    \rohead{\mbox{\hfil{\headmark}\rlap{\small\kern2em\thepage}}}
    \renewcommand{\headfont}{\small}  
%    \DeclareRobustCommand{\fixBothHeadlines}[2]{} % <--- ToDo
    % hack to get the content headlines right (thanks, Lorenzo!)
		\def\toc@heading{%
	 		\ifthenelse{\boolean{@nochapters}}%
	 		{\section*{\contentsname}}%nochapters
	 		{\chapter*{\contentsname}}%chapters
	 		\@mkboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}}
	 		  
    
% ********************************************************************
% layout of the chapter-, section-, subsection-, subsubsection-,
% paragraph and description-headings
% ********************************************************************             
\RequirePackage{titlesec}
		% parts
		\ifthenelse{\boolean{@parts}}%
		{%
%		\newcommand{\ctparttext}{\relax}
		\newcommand{\ct@parttext}{\relax} % Thanks to Ivo
		\newcommand{\ctparttext}[1]{\renewcommand{\ct@parttext}{#1 \relax}} 
    \titleformat{\part}[display]
        {\normalfont\centering\large}%
        {\thispagestyle{empty}\partname~\MakeTextUppercase{\thepart}}{1em}%
        {\color{Maroon}\spacedallcaps}[\bigskip\normalfont\normalsize\color{Black}\begin{quote}\ct@parttext\end{quote}]
    }{\relax}
    % chapters
    \ifthenelse{\boolean{@linedheaders}}%
    {% lines above and below, number right
    \titleformat{\chapter}[display]%             
        {\relax}{\raggedleft{\color{halfgray}\chapterNumber\thechapter} \\ }{0pt}%
        {\titlerule\vspace*{.9\baselineskip}\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]%
    }{% something like Bringhurst  
    \titleformat{\chapter}[display]%
        {\relax}{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}\color{halfgray}\chapterNumber\thechapter}}{0pt}%
        {\raggedright\spacedallcaps}[\normalsize\vspace*{.8\baselineskip}\titlerule]% 
    }
    % sections \FloatBarrier
    \titleformat{\section}
        {\relax}{\textsc{\MakeTextLowercase{\thesection}}}{1em}{\spacedlowsmallcaps}
    % subsections
    \titleformat{\subsection}
        {\relax}{\textsc{\MakeTextLowercase{\thesubsection}}}{1em}{\normalsize\itshape}
    % subsubsections
    \titleformat{\subsubsection}
        {\relax}{\textsc{\MakeTextLowercase{\thesubsubsection}}}{1em}{\normalsize\itshape}        
    % paragraphs
    \titleformat{\paragraph}[runin]
        {\normalfont\normalsize}{\theparagraph}{0pt}{\spacedlowsmallcaps}    
    % descriptionlabels
        \renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\spacedlowsmallcaps{#1}}   % spacedlowsmallcaps textit textsc                  
    % spacing
    \ifthenelse{\boolean{@nochapters}}%
        {\relax}%
        {\titlespacing*{\chapter}{0pt}{1\baselineskip}{1.2\baselineskip}}
    \titlespacing*{\section}{0pt}{1.25\baselineskip}{1\baselineskip} 
    \titlespacing*{\subsection}{0pt}{1.25\baselineskip}{1\baselineskip}
    \titlespacing*{\paragraph}{0pt}{1\baselineskip}{1\baselineskip}

% ********************************************************************                
% layout of the TOC, LOF and LOT (LOL-workaround see next section)
% ********************************************************************
\PassOptionsToPackage{titles}{tocloft}
	\RequirePackage{tocloft}
    % avoid page numbers being right-aligned in fixed-size box              
    \newlength{\newnumberwidth}
    \settowidth{\newnumberwidth}{999} % yields overfull hbox warnings for pages > 999
    \cftsetpnumwidth{\newnumberwidth}
    
    % have the bib neatly positioned after the rest
    \newlength{\beforebibskip}  
    \setlength{\beforebibskip}{0em}
    
    % space for more than nine chapters
    \newlength{\newchnumberwidth}
    \settowidth{\newchnumberwidth}{.} % <--- tweak here if more space required
    \ifthenelse{\boolean{@manychapters}}% <--- many chapters option
    {%    
    	\addtolength{\cftchapnumwidth}{\newchnumberwidth}%
	    \addtolength{\cftsecnumwidth}{\newchnumberwidth}
	    \addtolength{\cftsecindent}{\newchnumberwidth}
	    \addtolength{\cftsubsecnumwidth}{\newchnumberwidth}
	    \addtolength{\cftsubsecindent}{2\newchnumberwidth}
	    \addtolength{\cftsubsubsecnumwidth}{\newchnumberwidth}
	  }{\relax}%
	  
    % pagenumbers right after the titles
    % parts
    \ifthenelse{\boolean{@parts}}%
    {%
      \renewcommand{\thepart}{\roman{part}}%
      \renewcommand{\cftpartpresnum}{\scshape}%  \MakeTextLowercase
%      \renewcommand{\cftpartaftersnum}{\cftchapaftersnum}%
%      \renewcommand{\cftpartaftersnumb}{\quad}%
%      \setlength{\cftpartnumwidth}{\cftpartnumwidth}
      \renewcommand{\cftpartfont}{\color{Maroon}\normalfont}%
      \renewcommand{\cftpartpagefont}{\normalfont}%
      \ifthenelse{\boolean{@dottedtoc}}{\relax}%
      {%
      	\renewcommand{\cftpartleader}{\hspace{1.5em}}% 
      	\renewcommand{\cftpartafterpnum}{\cftparfillskip}%
      }%        
      \setlength{\cftbeforepartskip}{1em}%
      \setlength{\cftbeforechapskip}{.1em}%
      \setlength{\beforebibskip}{\cftbeforepartskip}%
     }{\relax}
    % chapters
    \ifthenelse{\boolean{@nochapters}}%
        {\relax}%
        {%
        	\renewcommand{\cftchappresnum}{\scshape\MakeTextLowercase}%
            \renewcommand{\cftchapfont}{\normalfont}%
            \renewcommand{\cftchappagefont}{\normalfont}%
            \ifthenelse{\boolean{@dottedtoc}}{\relax}%
      			{%
            	\renewcommand{\cftchapleader}{\hspace{1.5em}}% 
            	\renewcommand{\cftchapafterpnum}{\cftparfillskip}% 
            }
            %\setlength{\cftbeforechapskip}{.1em}%           
        }
    % sections
    \ifthenelse{\boolean{@nochapters}}%        
      {%
          \setlength{\cftbeforesecskip}{.1em}%
          \setlength{\beforebibskip}{1em}%
      }%
      {\relax}
    	\renewcommand{\cftsecpresnum}{\scshape\MakeTextLowercase}%
    	\renewcommand{\cftsecfont}{\normalfont}%
      \renewcommand{\cftsecpagefont}{\normalfont}%
    	\ifthenelse{\boolean{@dottedtoc}}{\relax}%
    	{%        
      	\renewcommand{\cftsecleader}{\hspace{1.5em}}% 
      	\renewcommand{\cftsecafterpnum}{\cftparfillskip}%
      }
      \ifthenelse{\boolean{@tocaligned}}{\renewcommand{\cftsecindent}{0em}}{\relax}
    % subsections
    	\renewcommand{\cftsubsecpresnum}{\scshape\MakeTextLowercase}%
    	\renewcommand{\cftsubsecfont}{\normalfont}%
      \ifthenelse{\boolean{@dottedtoc}}{\relax}%
      {%      
      	\renewcommand{\cftsubsecleader}{\hspace{1.5em}}% 
      	\renewcommand{\cftsubsecafterpnum}{\cftparfillskip}%   
      }             
      \ifthenelse{\boolean{@tocaligned}}{\renewcommand{\cftsubsecindent}{0em}}{\relax}
    % subsubsections
    	\renewcommand{\cftsubsubsecpresnum}{\scshape\MakeTextLowercase}%
    	\renewcommand{\cftsubsubsecfont}{\normalfont}%
      \ifthenelse{\boolean{@dottedtoc}}{\relax}%
      {%      
      	\renewcommand{\cftsubsubsecleader}{\hspace{1.5em}}% 
      	\renewcommand{\cftsubsubsecafterpnum}{\cftparfillskip}%   
      }             
      \ifthenelse{\boolean{@tocaligned}}{\renewcommand{\cftsubsubsecindent}{0em}}{\relax}
    % figures     
    	\renewcommand{\cftfigpresnum}{\scshape\MakeTextLowercase}% 
    	\renewcommand{\cftfigfont}{\normalfont}%                 
      \ifthenelse{\boolean{@dottedtoc}}{\relax}%
      {%
	      \renewcommand{\cftfigleader}{\hspace{1.5em}}% 
	      \renewcommand{\cftfigafterpnum}{\cftparfillskip}%
      }
      \renewcommand{\cftfigpresnum}{\figurename~}%Fig.~}
      \newlength{\figurelabelwidth}
      \settowidth{\figurelabelwidth}{\cftfigpresnum~999}
      \addtolength{\figurelabelwidth}{2.5em}
      \cftsetindents{figure}{0em}{\figurelabelwidth}
    % tables
    	\renewcommand{\cfttabpresnum}{\scshape\MakeTextLowercase}%
    	\renewcommand{\cfttabfont}{\normalfont}%
			\ifthenelse{\boolean{@dottedtoc}}{\relax}%
      {%
      	\renewcommand{\cfttableader}{\hspace{1.5em}}% 
      	\renewcommand{\cfttabafterpnum}{\cftparfillskip}%   
      } 
      \renewcommand{\cfttabpresnum}{\tablename~}%Tab.~}
      \newlength{\tablelabelwidth}
      \settowidth{\tablelabelwidth}{\cfttabpresnum~999}
      \addtolength{\tablelabelwidth}{2.5em}
      %\cftsetindents{table}{0em}{\tablelabelwidth}
      \cftsetindents{table}{0em}{\figurelabelwidth}
    % listings
    \ifthenelse{\boolean{@listings}}%        
    {%
	    \newlistof{listings}{lol}{\lstlistlistingname}%
			\renewcommand{\cftlistingspresnum}{\scshape\MakeTextLowercase}%
			\renewcommand{\cftlistingsfont}{\normalfont}%
			\renewcommand{\cftlistingspresnum}{\lstlistingname~}%
			\renewcommand{\cftlistingspagefont}{\normalfont}%
			\ifthenelse{\boolean{@dottedtoc}}{\relax}%
      {%  
				\renewcommand{\cftlistingsleader}{\hspace{1.5em}}%
				\renewcommand{\cftlistingsafterpnum}{\cftparfillskip}%
			}
			\newlength{\listingslabelwidth}%
			\settowidth{\listingslabelwidth}{\cftlistingspresnum~999}%
			\addtolength{\listingslabelwidth}{2.5em}%
			%\cftsetindents{listings}{0em}{\listingslabelwidth}%
			\cftsetindents{listings}{0em}{\figurelabelwidth}%
			\let\l@lstlisting\l@listings%
			\let\lstlistoflistings\listoflistings%
			}{\relax}%

    % dirty work-around to get the spacing after the toc/lot/lof-titles right    
    \ifthenelse{\boolean{@parts}}%        
    {%
    		\AtBeginDocument{\addtocontents{toc}{\protect\vspace{-\cftbeforepartskip}}}
    }{%
        \ifthenelse{\boolean{@nochapters}}%
    		{\relax}%
    		{\AtBeginDocument{\addtocontents{toc}{\protect\vspace{-\cftbeforechapskip}}}}
    }
                                       
    % another dirty work-around to get the spaced low small caps into the toc ;-(
    \ifthenelse{\boolean{@nochapters}}%
    {\relax}%
    {%
%% use modified \chapter (thanks to Hinrich Harms)
         \let\oldchap=\chapter
         \renewcommand*{\chapter}{%
                 \secdef{\Chap}{\ChapS}%
         }
         \newcommand\ChapS[1]{\oldchap*{#1}}%
         \newcommand\Chap[2][]{%
                 \ifpdf\oldchap[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}%
                 \else\oldchap[\spacedlowsmallcaps{#1}]{#2}%
                 \fi%
         }%
		\ifxetex % thanks to Joerg Weber
		\renewcommand\Chap[2][]{%
					 \ifxetex\oldchap[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}%
					 \else\oldchap[\spacedlowsmallcaps{#1}]{#2}%
					 \fi%
			 }%
		\fi%
    }
    
    % yet another dirty work-around to get the spaced low small caps into the toc ;-(
    \ifthenelse{\boolean{@parts}}%
    {% 
%% use modified \part (thanks to Hinrich Harms)
	    	 \let\oldpart=\part%
	       \renewcommand*{\part}{%
	               \secdef{\Part}{\PartS}%
	       }%
	       \newcommand\PartS[1]{\oldpart*{#1}}%
				 \newcommand\Part[2][]{%
	           \ifpdf\pdfstringdefDisableCommands{\let\thepart\@gobbletwo}%
	                 \oldpart[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}% spacedallcaps spacedlowsmallcaps
	           \else%
	           			 \oldpart[\spacedlowsmallcaps{#1}]{#2}%
	           \fi%
%	         	 \renewcommand{\ct@parttext}{\relax}% Thanks to Ivo!
					   \ctparttext{\relax}%
	       }%
				\ifxetex% thanks to Joerg Weber
	       		\renewcommand\Part[2][]{%
	               \ifxetex\pdfstringdefDisableCommands{\let\thepart=\@gobbletwo}%
	                     \oldpart[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}% spacedallcaps spacedlowsmallcaps
	               \else%
	               			\oldpart[\spacedlowsmallcaps{#1}]{#2}%
	               \fi%
								\ctparttext{\relax}%
	       }%
				\fi%
     }{\relax}
             
    \newcommand{\tocEntry}[1]{% for bib, etc.
    	\ifpdf\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}%
        \else{#1}\fi%
    }
		\ifxetex% thanks to Joerg Weber
			\renewcommand{\tocEntry}[1]{% for bib, etc.
    		\ifxetex\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}%
       	\else{#1}\fi%
    } \fi
    
%    % remove the vertical space between lof/lot entries of different chapters
		\ifthenelse{\boolean{@listsseparated}}{%
		 \PackageWarningNoLine{classicthesis}{Option "listsseparated" deprecated as of version 2.9.}%
		}{\relax}
%    \ifthenelse{\boolean{@listsseparated}}{%
%        \AtBeginDocument{%
%            \addtocontents{lof}{\protect\vspace{-\cftbeforechapskip}}%
%            \addtocontents{lot}{\protect\vspace{-\cftbeforechapskip}}%
%            \ifthenelse{\boolean{@listings}}%        
%    				{%
%             	\addtocontents{lol}{\protect\vspace{-\cftbeforechapskip}}%
%            }{\relax}%
%        }%
%    }{%
        \DeclareRobustCommand*{\deactivateaddvspace}{\let\addvspace\@gobble}% 
        \AtBeginDocument{%      
            \addtocontents{lof}{\deactivateaddvspace}% 
            \addtocontents{lot}{\deactivateaddvspace}%
    				\ifthenelse{\boolean{@listings}}% 
    				{%
             	\addtocontents{lol}{\deactivateaddvspace}%
            }{\relax}%                  
        }%
%    } 
   
% ********************************************************************
% footnotes setup   
% ********************************************************************   
\ifdefined\deffootnote
  % KOMA-command, footnotemark not superscripted at the bottom
  \deffootnote{0em}{0em}{\thefootnotemark\hspace*{.5em}}%
  \message{Using KOMA-command "deffootnote" for footnote setup}%
\else
	\PassOptionsToPackage{flushmargin}{footmisc}%
	\RequirePackage{footmisc}%
	\setlength{\footnotemargin}{-.5em}%
  	\PackageWarningNoLine{classicthesis}{Using package "footmisc" with option %
  		"flushmargin" for footnote setup (not 100\% the same as with KOMA)}% 
\fi       
   
% ********************************************************************
% Drafting Stuff
% ********************************************************************
\RequirePackage{scrtime} % time access
\newcommand{\finalVersionString}{\relax}
\providecommand{\myVersion}{$\!\!$} % w/o classicthesis-config.tex
\ifthenelse{\boolean{@drafting}}{% 		
%    \RequirePackage{draftwatermark}%
%    	\SetWatermarkLightness{0.9}
%			\SetWatermarkScale{.5}
%			\SetWatermarkText{\today\ at \thistime}
		\PassOptionsToPackage{draft}{prelim2e}
		\RequirePackage{prelim2e}
        \renewcommand{\PrelimWords}{\relax}
        \renewcommand{\PrelimText}{\footnotesize[\,\today\ at \thistime\ -- \texttt{classicthesis}~\myVersion\,]}
}{\renewcommand{\finalVersionString}{\emph{Final Version} as of \today\ (\texttt{classicthesis}~\myVersion).}}    

% ********************************************************************
% Caption numbering now w/o chapter number
% ********************************************************************
\ifthenelse{\boolean{@floatperchapter}}{%
	\ifthenelse{\boolean{@listings}}{%
		\lstset{numberbychapter=true}}{\relax}% numberbychapter works in listings>=1.4
}{%
	\ifthenelse{\boolean{@listings}}{%
		\lstset{numberbychapter=false}}{\relax}%
	\RequirePackage{remreset}%
    \makeatletter%
        \ifthenelse{\boolean{@nochapters}}%
        {\relax}{%
            \@removefromreset{table}{chapter}  % requires remreset package
        }%
        \renewcommand{\thetable}{\arabic{table}}%
    \makeatother%
    \makeatletter%
        \ifthenelse{\boolean{@nochapters}}%
        {\relax}{%
            \@removefromreset{figure}{chapter}  % requires remreset package
        }%
        \renewcommand{\thefigure}{\arabic{figure}}%  
    \makeatother%
    \makeatletter%
        \ifthenelse{\boolean{@nochapters}}%
        {\relax}{%
            \@removefromreset{equation}{chapter}  % requires remreset package
        }%
        \renewcommand{\theequation}{\arabic{equation}}%  
    \makeatother%    
}

% ********************************************************************
% Backward-compatibility
% ******************************************************************** 
\let\myChapter\chapter
\let\myPart\part
\let\graffito\marginpar
